import re

with open('par.json', 'r', encoding='utf8') as a:
  b = a.read()

b = re.sub('.+Eds.+', '', b)
b = re.sub('.+Direction.+', '', b)
b = re.sub('.+应用过程标识符.+', '', b)
b = re.sub('无符号整.', 'U', b)
b = re.sub('补码整.', 'I', b)
b = re.sub('双精度浮点.', 'D', b)
b = re.sub('单精度浮点.', 'F', b)
b = re.sub('显示数值', 'V', b)
b = re.sub('显示物理意义', 'psv', b)
b = re.sub('TmFuncSpecial', 'TFS', b)
b = re.sub('TmFunc', 'TF', b)
b = re.sub('OutputType', 'Out', b)
b = re.sub('Display', 'DP', b)
b = re.sub('InputType', 'In', b)
b = re.sub('Condition', 'CD', b)
b = re.sub('XianShi', 'Dp', b)
b = re.sub('PhysicsDetailList', 'PDL', b)
b = re.sub('PhysicsDetail', 'PD', b)
b = re.sub('GetData|Pos', 'P', b)
b = re.sub('Code', 'id', b)
b = re.sub('code', 'fn', b)
b = re.sub('name|Name', 'n', b)
b = re.sub('.+: null.*', '', b)
b = re.sub('"False"', '0', b)
b = re.sub('"True"', '1', b)
b = re.sub('showHex', 'HEX', b)
b = re.sub('Calibration', 'CA', b)

b = re.sub('摄氏度', '℃', b)
b = re.sub('安', 'A', b)
b = re.sub('安', 'A', b)
b = re.sub('伏', 'V', b)
b = re.sub('".+?数组', '"a_', b)
b = re.sub('Range', 'RA', b)

b = re.sub('[#_]', '', b)
# b = re.sub(': *"(-?\d+)"', r': \1', b)
b = re.sub('\s', '', b)
b = b.replace(',}', '}').replace(',]', ']').replace(';', ',')
import json

d = json.loads(b)
r = []
for i, j in d.items():
  r.append({'name': j['n'], 'id': i})
  with open(f'{i}.json', 'w', encoding='utf8') as a:
    json.dump(j, a, separators=(',', ':'), ensure_ascii=False)
with open('list.json', 'w', encoding='utf8') as a:
  json.dump(r, a, separators=(',', ':'), ensure_ascii=False)

  # a.write(b)
